﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace iNet.Media
{
	/// <summary>
	/// 媒體介面。
	/// </summary>
	public interface IMedia : ICloneable, IDisposable
	{
		/// <summary>
		/// 取得唯讀版本的媒體。
		/// </summary>
		/// <returns>唯讀版本的媒體。</returns>
		IMedia GetAsReadOnly();
		/// <summary>
		/// 取得媒體是否已經處置。
		/// </summary>
		bool IsDisposed { get; }
		/// <summary>
		/// 取得此媒體是否為唯讀。
		/// </summary>
		bool IsReadOnly { get; }
		/// <summary>
		/// 取得原始媒體儲存來源。
		/// </summary>
		MediaStorage MediaStorage { get; }
		/// <summary>
		/// 取得或設定媒體的中繼資料。
		/// </summary>
		IMetadata Metadata { get; set; }
	}
}
